package day06;

/**
 * 需求：使用二维数组打印一个10行杨辉三角
 * 1
 * 1	1
 * 1	2	1
 * 1	3	3	1
 * 1	4	6	4	1
 * 1	5	10	10	5	1
 * 1	6	15	20	15	6	1
 * 1	7	21	35	35	21	7	1
 * 1	8	28	56	70	56	28	8	1
 * 1	9	36	84	126	126	84	36	9	1
 * 规律：
 * 1.第1行有1个元素，第n行有n个元素
 * 2.每一行的第1个元素和最后1个元素都是1
 * 3.从第3行开始，除去第1个元素和最后一个元素
 * 每个元素是上一行的前1个元素和后一个元素之和
 * i为行，j为列
 * arr[i][j] = arr[i-1][j-1]+arr[i-1][j]
 */
public class ExercisesOfTwoDimensionalArray {
    public static void main(String[] args) {
        int[][] yangHui = new int[10][];
        for(int i=0;i< yangHui.length;i++){ //遍历数组的行
            yangHui[i] = new int[i+1]; //给每一个一维数组开辟空间
            for(int j=0;j<yangHui[i].length;j++){ //遍历数组的列
                if(j==0 || j==yangHui[i].length-1){ //如果数组的列的下标为第一个或最后一个
                    yangHui[i][j] = 1;
                }else{
                    yangHui[i][j] = yangHui[i-1][j-1]+yangHui[i-1][j];
                }
            }
        }
        for(int i=0;i< yangHui.length;i++){
            for(int j=0;j<yangHui[i].length;j++){
                System.out.print(yangHui[i][j]+"\t");
            }
            System.out.println();
        }
    }
}
